home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / PET / E-Education / (e)d2.d64 / snail.c64 (.txt) < prev    next >
Commodore BASIC  |  2008-11-26  |  21KB  |  881 lines

  1. 100 PRINT"":C5=1:POKE53280,6:POKE53281,6:GOSUB2710
  2. 110 WW$=""
  3. 120 SN$="[147]                 SNAIL "
  4. 130 GOSUB1830
  5. 140 DIM NE$(25),NW$(25),NX$(25),K(20),L(20),X2(9,20),Y2(9,20),G2(9,20):Z9=102
  6. 150 GOSUB 1380
  7. 160 PRINT"[147]":GOSUB1660
  8. 170 P=1484:Y=0:P5=55756:POKEP,Y:POKEP5,C5
  9. 180 C$=""
  10. 190 GOTO 360
  11. 200 PRINTC$"                                       "
  12. 210 RETURN
  13. 220 :
  14. 230 XR=LEN(PL$(I)):AX=AX+1
  15. 240 RX$(AX)=MID$(PL$(I),3,XR-1)
  16. 250 G3(AX)=I
  17. 260 FORBX=1TOMX
  18. 270 IFMID$(PL$(BX),1,1)<>"*"THEN290
  19. 280 GOSUB300:IFRX$(AX)=RY$(AX)THENI=BX-1:BX=MX
  20. 290 NEXTBX:RETURN
  21. 300 XY=LEN(PL$(BX))
  22. 310 RY$(AX)=MID$(PL$(BX),3,XY-1):RETURN
  23. 320 :
  24. 330 W$=""
  25. 340 PRINTW$"                                       "
  26. 350 RETURN
  27. 360 Z$="":O1=0:PRINTC$"                                       "
  28. 370 PRINT"                                      "
  29. 380 PRINTC$"   WHAT WOULD YOU LIKE TO DO ?"
  30. 390 GETZ$:IFZ$<>""THEN430
  31. 400 IFPEEK(654)=0THEN390
  32. 410 IFPEEK(654)=2THENGOSUB8470:POKE198,0:GOTO360
  33. 420 GOTO390
  34. 430 IFZ$="_"THEN3690
  35. 440 IFZ$="D"THENMS$=" DRAW [146]":GOTO550
  36. 450 IFZ$="M"THENMS$=" MOVE [146]":GOTO610
  37. 460 IFZ$="J"THEN3350
  38. 470 IFZ$="E"THENMS$=" ERASE [146]":GOTO580
  39. 480 IFZ$="T"THENMS$=" TEACH [146]":GOTO700
  40. 490 IFZ$="S"THENMS$=" SELECT [146]":GOTO1480
  41. 500 IFZ$="R"THENMS$=" RECALL [146]":GOTO1840
  42. 510 IFZ$="W"THENPOKE252,32:POKE2,C5:FR$="":GOSUB2540:GOTO360
  43. 520 IFZ$="F"THENPOKE252,160:POKE2,C5:FR$="":GOSUB2540:GOTO360
  44. 530 IFZ$="Q"THEN1310
  45. 540 GOTO 360
  46. 550 PRINT"";MS$
  47. 560 GOSUB940:GOSUB1050:IFO1=2THEN360
  48. 570 X=Z9:GOTO1220
  49. 580 PRINT"";MS$
  50. 590 GOSUB940:GOSUB1050:IFO1=2THEN360
  51. 600 X=32:GOTO1220
  52. 610 PRINT"";MS$
  53. 620 GOSUB940:GOSUB1050:IFO1=2THEN360
  54. 630 POKE P,32
  55. 640 FORI=1TOD1:V1=PEEK(P+D):C8=C5
  56. 650 IFV1=35THENI=D1:GOTO670
  57. 660 P=P+D:P5=P5+D
  58. 670 NEXTI:POKEP,0:POKEP5,C8:GOSUB2630
  59. 680 REM
  60. 690 V1=0:GOTO360
  61. 700 PRINT"";MS$:P9=0:SQ$="":SB$="":SM$="":GOSUB200
  62. 710 PRINTC$" HOW MANY LINES?(THEN PRESS RETURN[146]) ";
  63. 720 GETT$:IFT$=""THEN720
  64. 730 IFT$="@"THEN360
  65. 740 IFT$=CHR$(13)THEN780
  66. 750 SQ$=SM$+T$:PRINTSQ$;:SB$=SB$+SQ$:T$=""
  67. 760 P9=P9+1:IFP9>2THEN700
  68. 770 GOTO720
  69. 780 T=VAL(SB$)
  70. 790 IFT<1ORT>20THEN700
  71. 800 FORJ=1TOT:GOSUB200:GOSUB330
  72. 810 PRINTW$"STEP #";J
  73. 820 GOSUB940:L(J)=D:GOSUB1050:K(J)=D1
  74. 830 NEXTJ
  75. 840 FORJ=1TOT:GOSUB870:NEXTJ
  76. 850 REM
  77. 860 GOSUB330:GOTO360
  78. 870 REM
  79. 880 FORI=1TOK(J):C8=C5
  80. 890 V1=PEEK(P+L(J))
  81. 900 IFV1=35THENI=K(J):GOTO930
  82. 910 POKEP+L(J),0:POKEP5+L(J),C8:GOSUB2600
  83. 920 POKEP,Z9:POKEP5,C8:FORN=1TO20:NEXTN:P=P+L(J):P5=P5+L(J)
  84. 930 NEXTI:V1=0:GOSUB2630:RETURN
  85. 940 REM
  86. 950 GOSUB 200
  87. 960 PRINTC$"  WHICH WAY(U[146]P,D[146]OWN,L[146]EFT,R[146]IGHT,A[146]NGLE)?"
  88. 970 GETM$:IFM$=""THEN970
  89. 980 IFM$="@"THENO1=2:RETURN
  90. 990 IFM$="U"THEN D=-40:RETURN
  91. 1000 IF M$="D"THEN D=40:RETURN
  92. 1010 IFM$="L"THEND=-1:RETURN
  93. 1020 IFM$="R"THEND=1:RETURN
  94. 1030 IFM$="A"THENGOSUB1120:RETURN
  95. 1040 GOTO940
  96. 1050 IFO1=2THENRETURN
  97. 1060 GOSUB 200
  98. 1070 PRINTC$"  HOW FAR (1-9)?"
  99. 1080 GETD$:IFD$=""THEN1080
  100. 1090 D1=VAL(D$)
  101. 1100 IFD1<1ORD1>9THEN1050
  102. 1110 RETURN
  103. 1120 REM
  104. 1130 GOSUB 200
  105. 1140 PRINTC$"ANGLE DIRECTION?"
  106. 1150 GETZ$:IFZ$=""THEN1150
  107. 1160 IFZ$="1"THEN D=-39:GOTO1210
  108. 1170 IF Z$="7"THEN D=-41:GOTO1210
  109. 1180 IF Z$="5"THEN D=39:GOTO1210
  110. 1190 IF Z$="3"THEN D=41:GOTO1210
  111. 1200 GOTO1120
  112. 1210 RETURN
  113. 1220 REM
  114. 1230 FORI=1TOD1:V1=PEEK(P+D)
  115. 1240 IFV1=35THENI=D1:GOTO1270
  116. 1250 GOSUB2600:POKEP,X:POKEP5,C5:POKEP+D,0:POKEP5+D,C5
  117. 1260 P=P+D:P5=P5+D
  118. 1270 NEXT I
  119. 1280 GOSUB2630
  120. 1290 REM
  121. 1300 V1=0:GOTO360
  122. 1310 REM
  123. 1320 GOSUB200
  124. 1330 PRINTC$"[145][145]PLAY AGAIN (Y/N)?"
  125. 1340 GETX$:IFX$=""THEN1340
  126. 1350 IFX$="Y"THENRUN
  127. 1360 PRINT"[147]GOODBYE FOR NOW!"
  128. 1370 NEW:CLR:END
  129. 1380 PRINT"[147]"
  130. 1390 PRINT"                 SNAIL "
  131. 1400 PRINT"          WELCOME TO SNAIL[146]!"
  132. 1410 PRINT"        PRESS ANY KEY TO BEGIN"
  133. 1420 PRINT"          EXPLORING MY WORLD!"
  134. 1430 PRINT"     PRESS  _ [146] FOR  PROGRAM SNAIL "
  135. 1440 GETA$:IFA$=""THEN1440
  136. 1450 IFA$="_"THEN3690
  137. 1460 GOSUB1680:RETURN
  138. 1470 GOTO3180
  139. 1480 PRINT"";MS$:GOSUB330:GOSUB200:PRINTW$"   TRAIL TYPE [1.([209]) 2.(.) 3.(+)]?"
  140. 1490 PRINTW$" TRAIL TYPE [1.([209]) 2.(.) 3.(+) 4.( )]?"
  141. 1500 GETZ$:IFZ$=""THEN1500
  142. 1510 Q6=VAL(Z$)
  143. 1520 IFQ6<1ORQ6>4THEN1500
  144. 1530 IFQ6=1THENZ9=81
  145. 1540 IFQ6=2THENZ9=46
  146. 1550 IFQ6=3THENZ9=43
  147. 1560 IFQ6=4THENZ9=32
  148. 1570 GOSUB330
  149. 1580 PRINTW$"     COLOR(Y[146]ELLOW,C[146]YAN,W[146]HITE,B[146]LACK)"
  150. 1590 GETX$:IFX$=""THEN1590
  151. 1600 IFX$="Y"THENC5=7:GOTO1650
  152. 1610 IFX$="C"THENC5=3:GOTO1650
  153. 1620 IFX$="W"THENC5=1:GOTO1650
  154. 1630 IFX$="B"THENC5=0:GOTO1650
  155. 1640 GOTO1590
  156. 1650 GOSUB330:GOTO360
  157. 1660 SYS(50176):RETURN
  158. 1670 PRINT"[147]"
  159. 1680 PRINT"    WHAT KIND OF TRAIL DO YOU WANT:"
  160. 1690 PRINT"               1. '[209]'"
  161. 1700 PRINT"               2. '*'"
  162. 1710 PRINT"               3. '+'"
  163. 1720 PRINT"               4. '  '"
  164. 1730 PRINT"       ANSWER WITH (1,2,3 OR 4)"
  165. 1740 GETQ4$:IFQ4$=""THEN1740
  166. 1750 Q3=VAL(Q4$)
  167. 1760 IFQ3<1ORQ3>4THEN1670
  168. 1770 IFQ3=1THENZ9=81:GOTO1820
  169. 1780 IFQ3=2THENZ9=42:GOTO1820
  170. 1790 IFQ3=3THENZ9=43:GOTO1820
  171. 1800 IFQ3=4THENZ9=32:GOTO1820
  172. 1810 Z9=102
  173. 1820 RETURN
  174. 1830 PRINTCHR$(12):RETURN
  175. 1840 PRINT"";MS$
  176. 1850 X=Z9:Z$=""
  177. 1860 S1=1
  178. 1870 GOSUB200:GOSUB330
  179. 1880 PRINTC$" F1[146] NEXT SHAPE F7[146] THIS SHAPE"
  180. 1890 PRINTW$"  SHAPE # [146]";S1;" ";NX$(S1)
  181. 1900 T7=PEEK(197):IFT7=64THEN1900
  182. 1910 IFT7=46THENPOKE198,0:GOSUB330:GOTO360
  183. 1920 IFT7=3THENPOKE198,0:GOTO1960
  184. 1930 IFT7=4THENS1=S1+1
  185. 1940 IFS1=10THENPOKE198,0:GOSUB330:GOTO360
  186. 1950 GOTO1870
  187. 1960 GOSUB330
  188. 1970 PRINTW$" SHAPE #";S1;" ";NX$(S1)
  189. 1980 GOSUB 200
  190. 1990 PRINTC$" CHOICE D[146]RAW,M[146]EMORIZE,T[146]URN,N[146]AME SHAPE)"
  191. 2000 Z$=""
  192. 2010 GETZ$:IFZ$=""THEN2010
  193. 2020 IFZ$="D"THEN2070
  194. 2030 IFZ$="M"THEN2210
  195. 2040 IFZ$="T"THEN2860
  196. 2050 IFZ$="N"THENGOSUB2400:GOTO1960
  197. 2060 GOSUB330:GOTO360
  198. 2070 REM
  199. 2080 GOSUB330
  200. 2090 IFSB(S1)=0THEN360
  201. 2100 FORK=1TOSB(S1)
  202. 2110 D=X2(S1,K):D1=Y2(S1,K):GOSUB2120:NEXTK:GOTO360
  203. 2120 REM
  204. 2130 FORI=1TOD1:V1=PEEK(P+D):C8=C5
  205. 2140 IFV1=35THENI=D1:GOTO2170
  206. 2150 POKEP+D,0:GOSUB2600:POKEP,X:POKEP5,C8:POKEP5+D,C8:FORN=1TO20:NEXTN
  207. 2160 P=P+D:P5=P5+D
  208. 2170 NEXTI
  209. 2180 GOSUB2630
  210. 2190 V1=0
  211. 2200 RETURN
  212. 2210 P9=0:XZ$="":XC$="":XV$=""
  213. 2220 Z$=""
  214. 2230 GOSUB 200
  215. 2240 PRINTC$"HOW MANY LINES? (THEN PRESS RETURN[146]) ";
  216. 2250 GETZ$:IFZ$=""THEN2250
  217. 2260 IFZ$=CHR$(13)THEN2290
  218. 2270 XZ$=XC$+Z$:PRINTXZ$;:XV$=XV$+XZ$:Z$="":P9=P9+1:IFP9>2THEN2210
  219. 2280 GOTO2250
  220. 2290 SB(S1)=VAL(XV$):GOSUB330
  221. 2300 IFSB(S1)<1ORSB(S1)>20THEN2210
  222. 2310 FOR K=1TO SB(S1)
  223. 2320 GOSUB 330
  224. 2330 PRINTW$"LINE #";K
  225. 2340 GOSUB 950
  226. 2350 X2(S1,K)=D:G2(S1,K)=D
  227. 2360 GOSUB 1050
  228. 2370 Y2(S1,K)=D1
  229. 2380 NEXT K
  230. 2390 GOSUB330:GOTO360
  231. 2400 REM
  232. 2410 NA$="":NE$(S1)="":NX$(S1)=""
  233. 2420 Z$=""
  234. 2430 GOSUB330
  235. 2440 PRINTW$"NAME SHAPE #";S1;"(THEN PRESS  RETURN[146])
  236. 2450 [141] 200
  237. 2460 [153]C$"NAME?";
  238. 2470 [161] NA$:[139]NA$[178]""[167]2470
  239. 2480 [139]NA$[178][199](13)[167][142]
  240. 2490 NW$(S1)[178]NE$(S1)[170]NA$
  241. 2500 [153] NW$(S1);
  242. 2510 HJ[178][194](152):[139]HJ[178]1[167][138]
  243. 2520 NX$(S1)[178]NX$(S1)[170]NW$(S1)
  244. 2530 NA$[178]"":[137]2470
  245. 2540 [143]
  246. 2550 [141]200:[153]C$"               ";FR$
  247. 2560 [158](12[172]4096):[151]P,0:[142]
  248. 2570 [151]59467,16:[151]59466,85
  249. 2580 [151]59464,150:[129]Q[178]1[164]10:[130]Q
  250. 2590 [151]59467,0:[142]
  251. 2600 [151]54296,15:[151]54277,100:[151]54278,100:[151]54276,17
  252. 2610 [151]54273,64:[151]54272,75:[129]Q[178]1[164]10:[130]Q:[151]54276,0:[151]54277,0
  253. 2620 [151]54278,0:[142]
  254. 2630 [151]54296,10:[151]54277,75:[151]54278,75:[151]54276,17
  255. 2640 [129]Q[178]50[164]1[169][171]5:[151]54273,34[170]Q:[151]54272,75
  256. 2650 [129]T[178]1[164]5:[130]T
  257. 2660 [130]Q:[151]54276,0:[151]54277,0:[151]54278,0:[151]54296,0:[142]
  258. 2670 [153]WW$;"          PRESS THE RETURNWAIT KEY!"
  259. 2680 [161]X$:[139]X$[178]""[167]2680
  260. 2690 [139]X$[179][177][199](13)[167]2680
  261. 2700 [142]
  262. 2710 [153]"LOAD
  263. 2720 PRINT"
  264. 2730 [153]"                 (null)(null)(null)(null)(null)(null)
  265. 2740 PRINT"                [206] [210][210][210][210] [205]
  266. 2750 [153]"        (null)      (null) (null) (null)(null) (null) (null)
  267. 2760 PRINT"         [205]    [206] [206] [206]  [205] [205] [205]
  268. 2770 [153]"          (null)  (null) (null) (null) (null)(null) (null) (null) (null)
  269. 2780 PRINT"         [213][195][201][206]  [205] [205] [205][206] [206] [206] [206]
  270. 2790 [153]"         MID$LEN(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)(null)>>>
  271. 2800 PRINT"
  272. 2810 [153]"                S N A I L
  273. 2820 PRINT"
  274. 2830 [153]"          R. PRACHUN      1982
  275. 2840 GOSUB8110:GOSUB8550:GOSUB8850
  276. 2850 RETURN
  277. 2860 AT=0
  278. 2870 GOSUB200:PRINTC$"         ANGLE(1.[146]45,2.[146]90,3.[146]180)"
  279. 2880 GETZ$:IFZ$=""THEN2880
  280. 2890 T8=VAL(Z$):IFT8<1ORT8>3THEN2880
  281. 2900 IFT8=1THENAT=45
  282. 2910 IFT8=2THENAT=90
  283. 2920 IFT8=3THENAT=180
  284. 2930 GOSUB200:PRINTC$"             REPEAT (Y/N)?"
  285. 2940 GETX$:IFX$=""THEN2940
  286. 2950 IFX$="N"THENGOSUB200:GOSUB330:GOTO3010
  287. 2960 IFX$<>"Y"THEN2940
  288. 2970 GOSUB200:PRINTC$"        HOW MANY REPEATS (1-9)?"
  289. 2980 GETZ$:IFZ$=""THEN2980
  290. 2990 I3=VAL(Z$):IFI3<1ORI3>9THEN2980
  291. 3000 GOSUB200:GOTO3010
  292. 3010 FORRP=1TOI3
  293. 3020 FORK=1TOSB(S1)
  294. 3030 IFAT=45THENGOSUB3080
  295. 3040 IFAT=90THENGOSUB3180
  296. 3050 IFAT=180THENGOSUB3280
  297. 3060 D=G2(S1,K):D1=Y2(S1,K)
  298. 3070 GOSUB2120:NEXTK,RP:I3=1:AT=0:GOSUB330:GOTO360
  299. 3080 REM
  300. 3090 IFG2(S1,K)=1THENG2(S1,K)=41:RETURN
  301. 3100 IFG2(S1,K)=41THENG2(S1,K)=40:RETURN
  302. 3110 IFG2(S1,K)=40THENG2(S1,K)=39:RETURN
  303. 3120 IFG2(S1,K)=39THENG2(S1,K)=-1:RETURN
  304. 3130 IFG2(S1,K)=-1THENG2(S1,K)=-41:RETURN
  305. 3140 IFG2(S1,K)=-41THENG2(S1,K)=-40:RETURN
  306. 3150 IFG2(S1,K)=-40THENG2(S1,K)=-39:RETURN
  307. 3160 IFG2(S1,K)=-39THENG2(S1,K)=1:RETURN
  308. 3170 RETURN
  309. 3180 REM
  310. 3190 IFG2(S1,K)=1THENG2(S1,K)=40:RETURN
  311. 3200 IFG2(S1,K)=41THENG2(S1,K)=39:RETURN
  312. 3210 IFG2(S1,K)=40THENG2(S1,K)=-1:RETURN
  313. 3220 IFG2(S1,K)=39THENG2(S1,K)=-41:RETURN
  314. 3230 IFG2(S1,K)=-1THENG2(S1,K)=-40:RETURN
  315. 3240 IFG2(S1,K)=-41THENG2(S1,K)=-39:RETURN
  316. 3250 IFG2(S1,K)=-40THENG2(S1,K)=1:RETURN
  317. 3260 IFG2(S1,K)=-39THENG2(S1,K)=41:RETURN
  318. 3270 RETURN
  319. 3280 REM
  320. 3290 IFG2(S1,K)<0THENG2(S1,K)=ABS(X2(S1,K)):RETURN
  321. 3300 IFG2(S1,K)=1THENG2(S1,K)=-1:RETURN
  322. 3310 IFG2(S1,K)=41THENG2(S1,K)=-41:RETURN
  323. 3320 IFG2(S1,K)=40THENG2(S1,K)=-40:RETURN
  324. 3330 IFG2(S1,K)=39THENG2(S1,K)=-39:RETURN
  325. 3340 RETURN
  326. 3350 DF=0
  327. 3360 GOSUB3630
  328. 3370 QW=PEEK(203)
  329. 3380 IFQW=14THENTX=32:PRINT"ERASE[146]":POKE203,64:POKE198,0
  330. 3390 IFQW=18THENTX=Z9:PRINT"DRAW [146]":POKE203,64:POKE198,0
  331. 3400 GOSUB3450:GOSUB3530
  332. 3410 IFDF=2THENPOKE203,64:POKE198,0:GOTO360
  333. 3420 IFJV=0THENDF=0:GOTO3440
  334. 3430 GOSUB3490:DF=0
  335. 3440 GOTO3370
  336. 3450 REM JOYSTICK ROUTINE
  337. 3460 POKE56322,0:JV=PEEK(56320)
  338. 3470 FR=JV AND 16:JV=15-(JV AND 15)
  339. 3480 POKE56322,255:RETURN
  340. 3490 V1=PEEK(P+D):IFV1=35THEN3520
  341. 3500 GOSUB2600:POKEP+D,0:POKEP5+D,C5:POKEP,TX:POKEP5,C5
  342. 3510 P=P+D:P5=P5+D
  343. 3520 V1=0:RETURN
  344. 3530 IFFR<>16THENDF=2:RETURN
  345. 3540 IFJV=1THEND=-40:RETURN
  346. 3550 IFJV=2THEND=40:RETURN
  347. 3560 IFJV=4THEND=-1:RETURN
  348. 3570 IFJV=5THEND=-41:RETURN
  349. 3580 IFJV=6THEND=39:RETURN
  350. 3590 IFJV=8THEND=1:RETURN
  351. 3600 IFJV=9THEND=-39:RETURN
  352. 3610 IFJV=10THEND=41:RETURN
  353. 3620 JV=0:RETURN
  354. 3630 GOSUB200:PRINTC$"       JOYSTICK[146] (D[146]RAW,E[146]RASE,Q[146]UIT)"
  355. 3640 GETX$:IFX$=""THEN3640
  356. 3650 IFX$="Q"THENDF=2:RETURN
  357. 3660 IFX$="E"THENTX=32:PRINT"ERASE":POKE203,64:POKE198,0:RETURN
  358. 3670 IFX$<>"D"THEN3640
  359. 3680 PRINT"DRAW ":TX=Z9:POKE203,64:POKE198,0:RETURN
  360. 3690 CLR:POKE53280,2:POKE53281,11:C5=1:VB=0:NM$="@"
  361. 3700 PRINTCHR$(142):GOSUB7820
  362. 3710 MX=500:DIM PL$(MX),CL$(MX),P2(40)
  363. 3720 Q$="[145]"
  364. 3730 MM=54296:M1=54276:M2=54277:M3=54278
  365. 3740 REM
  366. 3750 PRINT"[158][147]            PROGRAM SNAIL "
  367. 3760 PRINT"       SELECTION:"
  368. 3770 PRINT"       1.[146] WRITE/EDIT PROGRAM"
  369. 3780 PRINT"       2.[146] DISPLAY COMMANDS"
  370. 3790 PRINT"       3.[146] RUN A PROGRAM"
  371. 3800 PRINT"       4.[146] LIST (TO PRINTER)"
  372. 3810 PRINT"       5.[146] SAVE A PROGRAM"
  373. 3820 PRINT"       6.[146] LOAD A PROGRAM"
  374. 3830 PRINT"       7.[146] RENUMBER LINES"
  375. 3840 PRINT"       8.[146] DELETE PROGRAM
  376. 3850 [153]"       9.WAIT QUIT"
  377. 3860 [153]"       YOUR CHOICE (1-9)"
  378. 3870 [161]X$:[139]X$[178]""[167]3870
  379. 3880 V[178][197](X$):[139]V[179]1[176]V[177]9[167]3870
  380. 3890 TA[178]0
  381. 3900 [145]V[141]4010,4420,4790,5370,5440,5620,7030,7630,5780
  382. 3910 [129]XV[178]1[164]9:SL(XV)[178]0:[130]XV
  383. 3920 [137]3750
  384. 3930 [143] *** SOUND EFFECTS ***
  385. 3940 [151]MM,15:[151]M2,100:[151]M3,100:[151]M1,17
  386. 3950 [151]54273,64:[151]54272,75:[129]D5[178]1[164]20:[130]D5
  387. 3960 [151]MM,0:[151]M1,0:[151]M2,0:[151]M3,0:[142]
  388. 3970 [151]MM,10:[151]M2,75:[151]M3,75:[151]M1,17
  389. 3980 [129]D5[178]50[164]1[169][171]5:[151]54273,34[170]D5:[151]54272,75
  390. 3990 [129]D6[178]1[164]5:[130]D6,D5
  391. 4000 [151]MM,0:[151]M1,0:[151]M2,0:[151]M3,0:[142]
  392. 4010 [139]PN$[179][177]""[167]4120
  393. 4020 [153]"LOAD           WRITE MODE "
  394. 4030 [153]"    TYPE IN YOUR FIRST NAME, PLEASE!"
  395. 4040 [153]"      THEN PRESS THE  RETURN WAIT KEY!"
  396. 4050 [133]"    YOUR NAME?   SINCMDCMDCMD";NM$
  397. 4060 [153]"LOAD       PLEASE, TYPE IN THE NAME"
  398. 4070 [153]"           OF THIS PROGRAM!"
  399. 4080 [153]"        (MAXIMUM OF 7 LETTERS)
  400. 4090 PRINT"      THEN PRESS THE  RETURN [146] KEY"
  401. 4100 INPUT"         NAME   @[157][157][157]";PN$
  402. 4110 IFLEN(PN$)>7THENPN$=LEFT$(PN$,7)
  403. 4120 PRINT"[147]   PROGRAM: [146] ";PN$;"  AUTHOR: [146] ";NM$;""
  404. 4130 FORJ=1TOMY
  405. 4140 IFPL$(J)=""THEN4220
  406. 4150 PRINTJ;" ";PL$(J)
  407. 4160 IFPEEK(203)=60THEN4190
  408. 4170 IFPEEK(203)=46THEN4210
  409. 4180 GOTO4220
  410. 4190 GETZ$:IFZ$<>CHR$(13)THEN4190
  411. 4200 GOTO4220
  412. 4210 J=MY:POKE203,64:POKE198,0:GOTO4220
  413. 4220 NEXTJ
  414. 4230 PRINT"";:INPUT" LINE#   0[157][157][157]";HN$
  415. 4240 LN=VAL(MID$(HN$,1,3))
  416. 4250 IFLN>MXTHENPRINT"  LINE# TOO HIGH!(MAX.500)":LN=0:PL$(LN)="":GOTO4230
  417. 4260 IFLN>MYTHENMY=LN
  418. 4270 IFLN=0THENPL$(LN)="":RETURN
  419. 4280 IFPL$(LN)<>""THENPL$(LN)=""
  420. 4290 PRINTQ$;" >? ";
  421. 4300 GETZ$:IFZ$=""THEN4300
  422. 4310 IFZ$=CHR$(13)THEN4370
  423. 4320 IFZ$=CHR$(20)THENPL$(LN)=LEFT$(PL$(LN),(TT-1)):PRINTCHR$(20);
  424. 4330 IFZ$=CHR$(20)THENTT=TT-1:GOTO4300
  425. 4340 MX$=Z$:PL$(LN)=PL$(LN)+MX$:TT=TT+1
  426. 4350 PRINTMX$;:IFTT=1THENGOSUB4400
  427. 4360 GOTO4300
  428. 4370 TT=0:PL$(LN)=PL$(LN)+"_":PRINT
  429. 4380 IFMID$(PL$(LN),1,1)="_"THENPL$(LN)=""
  430. 4390 GOTO4230
  431. 4400 MX$="/":PL$(LN)=PL$(LN)+MX$:TT=TT+1:PRINTMX$;:RETURN
  432. 4410 RETURN
  433. 4420 PRINT"[147]       SNAIL:[146] PROGRAM COMMANDS"
  434. 4430 PRINT"SYMBOL & COMMAND"
  435. 4440 PRINT" D     DRAW"
  436. 4450 PRINT" M     MOVE"
  437. 4460 PRINT" T     TURN TO ANGLE(RESET ANGLE=T/0)"
  438. 4470 PRINT" R     REMARK [IGNORED BY SNAIL]"
  439. 4480 PRINT" G     GO TO A SUBROUTINE AT THE LINE#"
  440. 4490 PRINT" E/G   END OF A SUBROUTINE"
  441. 4500 PRINT" S     SELECT A TRAIL TYPE"
  442. 4510 PRINT" L     START OF LOOP(# TELLS HOW MANY]"
  443. 4520 PRINT" E/L   END OF LOOP"
  444. 4530 PRINT" C     COLOUR SELECTION [C,Y,W]"
  445. 4540 PRINT" J     JUMP TO A LINE#"
  446. 4550 PRINT" W     WIPE SCREEN CLEAR"
  447. 4560 PRINT" O     CURSOR ORIGIN(1-9)"
  448. 4570 PRINT" Q     QUESTION [WAITS FOR A Y OR N ]"
  449. 4580 PRINT" A     ANSWER [A/Y/20=ON Y JUMP TO 20]"
  450. 4590 PRINT" P     PRINT OUT TEXT"
  451. 4600 PRINT" H     HOME SNAIL AND CLEAR HOME ROW"
  452. 4610 PRINT"           PRESS ANY KEY"
  453. 4620 GETX$:IFX$=""THEN4620
  454. 4630 GOSUB8020
  455. 4640 PRINT"[147]        LINE FORMAT EXAMPLE"
  456. 4650 PRINT"         [197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197]"
  457. 4660 PRINT"        LINE#","CODE"
  458. 4670 PRINT"        20","D/R/5"
  459. 4680 PRINT"        30","M/A/3/5"
  460. 4690 PRINT"        34","E"
  461. 4700 PRINT"        ANGLE MOVES:"
  462. 4710 PRINT"        [197][197][197][197][197][197][197][197][197][197][197]"
  463. 4720 PRINT"           F7  F1"
  464. 4730 PRINT"             [205][206]"
  465. 4740 PRINT"             [206][205]"
  466. 4750 PRINT"           F5  F3"
  467. 4760 PRINT"          PRESS ANY KEY "
  468. 4770 GETX$:IFX$=""THEN4770
  469. 4780 RETURN
  470. 4790 REM
  471. 4800 W$="":SN$="            SNAIL":Z9=102:PE=0
  472. 4810 GOSUB4910:PRINT"[147]":GOSUB4840:GOSUB1660
  473. 4820 P=1484:P5=55756:Y=0:POKEP,Y:POKEP5,C5
  474. 4830 GOSUB 5130:RETURN
  475. 4840 PRINT"[147]";SN$:PRINT"          TYPE OF RUN:"
  476. 4850 PRINT"         1. SINGLE STEP"
  477. 4860 PRINT"         2. CONTINUOUS RUN"
  478. 4870 PRINT"         YOUR CHOICE (1-2)"
  479. 4880 GETX$:IFX$=""THEN4880
  480. 4890 QQ=VAL(X$):IFQQ<1ORQQ>2THEN4880
  481. 4900 PRINT"[147]":RETURN
  482. 4910 PRINT"[147]";SN$:PRINT"          TYPE OF TRAIL "
  483. 4920 PRINT"             1. '[209]'"
  484. 4930 PRINT"             2. '*'"
  485. 4940 PRINT"             3. '+'"
  486. 4950 PRINT"             4. ' '"
  487. 4960 PRINT"         YOUR CHOICE (1-3)"
  488. 4970 GETZ$:IFZ$=""THEN4970
  489. 4980 Q3=VAL(Z$):IFQ3<1ORQ3>4THEN4970
  490. 4990 IFQ3=1THENZ9=81
  491. 5000 IFQ3=2THENZ9=42
  492. 5010 IFQ3=3THENZ9=43
  493. 5020 IFQ3=4THENZ9=32
  494. 5030 PRINT"[147]";SN$:PRINT"          COLOR OF TRAIL "
  495. 5040 PRINT"         [159] C [146][158]YAN [158] Y [146][158]ELLOW"
  496. 5050 PRINT"             W [146][158]HITE"
  497. 5060 PRINT"         YOUR CHOICE (C,Y,W)"
  498. 5070 GETXX$:IFXX$=""THEN5070
  499. 5080 IFXX$="C"THENC5=3:GOTO5120
  500. 5090 IFXX$="Y"THENC5=7:GOTO5120
  501. 5100 IFXX$="W"THENC5=1:GOTO5120
  502. 5110 GOTO5070
  503. 5120 RETURN
  504. 5130 REM
  505. 5140 C$=""
  506. 5150 PRINTC$;" PROGRAM: [146] ";PN$
  507. 5160 FORI=1TOMX
  508. 5170 IFPL$(I)=""THEN5290
  509. 5180 IFQQ=2THEN5230
  510. 5190 PRINTW$"                                    "
  511. 5200 PRINT"                                     "
  512. 5210 PRINTW$;"[158] LINE# ";I
  513. 5220 PRINT" ";PL$(I)
  514. 5230 IFQQ=2THEN5250
  515. 5240 GETZ$:IFZ$=""THEN5240
  516. 5250 GOSUB5830
  517. 5260 IFPEEK(203)=46THENI=MX:GOTO5290
  518. 5270 IFPE=2THENI=MX
  519. 5280 IFLF=0THEN5290
  520. 5290 NEXTI
  521. 5300 PRINTW$"                                    "
  522. 5310 PRINTC$"                                    "
  523. 5320 PRINTC$"         PROGRAM RUN COMPLETE "
  524. 5330 PRINTW$"           PRESS RETURN KEY "
  525. 5340 GETZ$:IFZ$<>CHR$(13)THEN5340
  526. 5350 PRINTC$"                                     "
  527. 5360 RETURN
  528. 5370 REM *** PRINTER LIST ***
  529. 5380 OPEN1,4
  530. 5390 PRINT#1,"PROGRAM: ";PN$;" AUTHOR: ";NM$:PRINT#1
  531. 5400 FORK=1TOMX
  532. 5410 IFPL$(K)=""THEN5430
  533. 5420 PRINT#1,K;" ";PL$(K)
  534. 5430 NEXTK:CLOSE1:RETURN
  535. 5440 GOSUB7570
  536. 5450 INPUT"[147]  C [146]ASSETTE OR  D [146]ISK   C[157][157][157]";DV$
  537. 5460 IFDV$="D"THENDN=8
  538. 5470 INPUT" PROGRAM NAME   @[157][157][157]";PN$
  539. 5480 IFDN=8THEN5540
  540. 5490 OPEN1,1,1,PN$
  541. 5500 PRINT#1,PZ
  542. 5510 FORK=1TOMX
  543. 5520 PRINT#1,PL$(K)
  544. 5530 NEXTK:PRINT#1,NM$:CLOSE1:RETURN
  545. 5540 OPEN2,8,2,PN$+",S,W"
  546. 5550 PRINT#2,PZ,CHR$(13)
  547. 5560 FORK=1TOPZ
  548. 5570 IFPL$(K)=""THENPL$(K)="<"
  549. 5580 PRINT#2,PL$(K),CHR$(13)
  550. 5590 NEXTK:PRINT#2,NM$
  551. 5600 CLOSE2
  552. 5610 RETURN
  553. 5620 REM
  554. 5630 INPUT"[147]  C [146]ASSETTE OR  D [146]ISK   C[157][157][157]";DV$
  555. 5640 INPUT"PROGRAM NAME   @[157][157][157]";PN$
  556. 5650 IFDV$="D"THEN5700
  557. 5660 OPEN1,1,0,PN$
  558. 5670 INPUT#1,PZ
  559. 5680 FORK=1TOPZ:INPUT#1,PL$(K):NEXTK:INPUT#1,NM$
  560. 5690 CLOSE1:MY=PZ:GOSUB7700:RETURN
  561. 5700 OPEN 2,8,2,PN$+",S,R"
  562. 5710 INPUT#2,PZ
  563. 5720 FORK=1TOPZ
  564. 5730 INPUT#2,PL$(K)
  565. 5740 NEXTK:INPUT#2,NM$
  566. 5750 CLOSE2
  567. 5760 MY=PZ:GOSUB7700
  568. 5770 RETURN
  569. 5780 PRINT"[147]     WISH TO VISIT SNAIL (Y/N)?"
  570. 5790 GETX$:IFX$=""THEN5790
  571. 5800 IFX$="Y"THENRUN
  572. 5810 IFX$<>"N"THEN5790
  573. 5820 PRINT"[147] GOODBYE FOR NOW!!":END
  574. 5830 CM$=MID$(PL$(I),1,1)
  575. 5840 IFCM$="D"ORCM$="M"THENGOSUB6100:GOTO6030
  576. 5850 IFCM$="P"THENGOSUB7170:RETURN
  577. 5860 IFCM$="B"THENGOSUB230:RETURN
  578. 5870 IFCM$="Q"THENGOSUB7370:RETURN
  579. 5880 IFCM$="A"THENGOSUB7430:RETURN
  580. 5890 IFCM$="H"THENGOSUB7500:RETURN
  581. 5900 IFCM$="L"THENGOSUB6390:RETURN
  582. 5910 IFCM$="F"THENPOKE252,160:POKE2,C5:GOSUB2540:RETURN
  583. 5920 IFCM$="R"THENGOSUB7560:RETURN
  584. 5930 IFCM$="T"THENTA=VAL(MID$(PL$(I),3,3)):GH=TA:RETURN
  585. 5940 IFCM$="O"THENGOSUB6660:RETURN
  586. 5950 IFCM$="E"THENGOSUB8310:RETURN
  587. 5960 IFCM$="G"THENGOSUB6340:RETURN
  588. 5970 IFCM$="W"THENPOKE252,32:POKE2,C5:GOSUB2540:RETURN
  589. 5980 IFCM$="S"THENGOSUB6710:RETURN
  590. 5990 IFCM$="C"THENGOSUB6770:RETURN
  591. 6000 IFCM$="J"THENGOSUB6850:RETURN
  592. 6010 IFCM$="@"ORCM$="*"THEN RETURN
  593. 6020 ER$="  NO SUCH COMMAND! ":GOTO6940
  594. 6030 IFMID$(PL$(I),1,1)="M"THENX=32:GOTO6060
  595. 6040 IFPE=2THENRETURN
  596. 6050 GOSUB6980:RETURN
  597. 6060 POKEP,32:FORK=1TOD1:V1=PEEK(P+D)
  598. 6070 IFV1=35THENK=D1:GOTO6090
  599. 6080 P=P+D:P5=P5+D
  600. 6090 NEXTK:POKEP,0:POKEP5,C5:GOSUB3970:RETURN
  601. 6100 REM
  602. 6110 GOSUB6140:IFTA<>0THENGOSUB6400
  603. 6120 IFPE=2THENRETURN
  604. 6130 GOSUB6220:RETURN
  605. 6140 IFMID$(PL$(I),3,1)="A"THENGOSUB6270:RETURN
  606. 6150 IFTA<>0THENRETURN
  607. 6160 DR$=MID$(PL$(I),3,1)
  608. 6170 IFDR$="U"THEND=-40:RETURN
  609. 6180 IFDR$="D"THEND=40:RETURN
  610. 6190 IFDR$="R"THEND=1:RETURN
  611. 6200 IFDR$="L"THEND=-1:RETURN
  612. 6210 ER$="  NO SUCH DIRECTION! ":GOTO6940
  613. 6220 REM
  614. 6230 IFMID$(PL$(I),3,1)="A"THEND1=VAL(MID$(PL$(I),7,1)):GOTO6250
  615. 6240 D1=VAL(MID$(PL$(I),5,2))
  616. 6250 IFD1<1ORD1>20THENER$="  THE DISTANCE IS TOO FAR ":GOTO6940
  617. 6260 RETURN
  618. 6270 IFTA<>0THENRETURN
  619. 6280 DR=VAL(MID$(PL$(I),5,1))
  620. 6290 IFDR=1THEND=-39:RETURN
  621. 6300 IFDR=3THEND=41:RETURN
  622. 6310 IFDR=5THEND=39:RETURN
  623. 6320 IFDR=7THEND=-41:RETURN
  624. 6330 ER$="  NO SUCH ANGLE! ":GOTO6940
  625. 6340 REM
  626. 6350 VB=VB+1:G1(VB)=I
  627. 6360 G2=VAL(MID$(PL$(I),3,3))
  628. 6370 IFG2>MXTHENER$="  LINE # TOO HIGH! ":GOTO6940
  629. 6380 I=G2-1:RETURN
  630. 6390 LF=VAL(MID$(PL$(I),3)):LL=I+1:RETURN
  631. 6400 REM
  632. 6410 IFTA=45THENGOSUB6450:RETURN
  633. 6420 IFTA=90THENGOSUB6530:RETURN
  634. 6430 IFTA=180THENGOSUB6610:RETURN
  635. 6440 IFTA=0THENRETURN
  636. 6450 IFD=1THEND=41:RETURN
  637. 6460 IFD=41THEND=40:RETURN
  638. 6470 IFD=40THEND=39:RETURN
  639. 6480 IFD=39THEND=-1:RETURN
  640. 6490 IFD=-1THEND=-41:RETURN
  641. 6500 IFD=-41THEND=-40:RETURN
  642. 6510 IFD=-40THEND=-39:RETURN
  643. 6520 IFD=-39THEND=1:RETURN
  644. 6530 IFD=1THEND=40:RETURN
  645. 6540 IFD=41THEND=39:RETURN
  646. 6550 IFD=40 THEND=-1:RETURN
  647. 6560 IFD=39THEND=-41:RETURN
  648. 6570 IFD=-1THEND=-40:RETURN
  649. 6580 IFD=-41THEND=-39:RETURN
  650. 6590 IFD=-40THEND=1:RETURN
  651. 6600 IFD=-39THEND=41:RETURN
  652. 6610 IFD<0THEND=ABS(D):RETURN
  653. 6620 IFD=1THEND=-1:RETURN
  654. 6630 IFD=41THEND=-41:RETURN
  655. 6640 IFD=40THEND=-40:RETURN
  656. 6650 IFD=39THEND=-39:RETURN
  657. 6660 REM
  658. 6670 IFMID$(PL$(I),3)=""THENER$="  NO ORIGIN NUMBER ":GOTO6940
  659. 6680 WX=VAL(MID$(PL$(I),3)):IFSL(WX)=0THENSL(WX)=P:CL(WX)=P5:RETURN
  660. 6690 POKEP,32:P=SL(WX):P5=CL(WX):RETURN
  661. 6700 POKEP,32:P5=WX:P=ZX:RETURN
  662. 6710 REM
  663. 6720 IFMID$(PL$(I),3,1)="[209]"THENZ9=81:RETURN
  664. 6730 IFMID$(PL$(I),3,1)="*"THENZ9=42:RETURN
  665. 6740 IFMID$(PL$(I),3,1)="+"THENZ9=43:RETURN
  666. 6750 IFMID$(PL$(I),3,1)=" "THENZ9=32:RETURN
  667. 6760 ER$="  NO SUCH TRAIL! ":GOTO6940
  668. 6770 REM
  669. 6780 C1$=MID$(PL$(I),3,1)
  670. 6790 IFC1$="C"THENC5=3:GOTO6840
  671. 6800 IFC1$="Y"THENC5=7:GOTO6840
  672. 6810 IFC1$="W"THENC5=1:GOTO6840
  673. 6820 IFC1$="B"THENC5=0:GOTO6840
  674. 6830 ER$="  NO SUCH COLOR! ":GOTO6940
  675. 6840 RETURN
  676. 6850 REM
  677. 6860 J1=VAL(MID$(PL$(I),3,3))
  678. 6870 IFJ1>MXTHENER$="  LINE# TOO HIGH ":GOTO6940
  679. 6880 I=J1-1:RETURN
  680. 6890 REM
  681. 6900 RETURN
  682. 6910 REM
  683. 6920 V5=1105:FORL=1TO19
  684. 6930 FORM=1TO38:POKEV5,32:V5=V5+1:NEXTM:V5=V5+2:NEXTL:POKEP,0:RETURN
  685. 6940 PRINT"[147]"
  686. 6950 PRINT"               ??????? [158]"
  687. 6960 PRINT"           ";ER$:PRINT"            IN LINE #";I
  688. 6970 PE=2:FORN=1TO500:NEXTN:RETURN
  689. 6980 X=Z9
  690. 6990 FORK=1TOD1:V1=PEEK(P+D):IFV1=35THENK=D1:GOTO7020
  691. 7000 POKEP+D,0:POKEP5+D,C5:POKEP,X:POKEP5,C5:GOSUB3930
  692. 7010 P=P+D:P5=P5+D
  693. 7020 NEXTK:GOSUB3970:V1=0:RETURN
  694. 7030 E=0:SL=0:LI=0:W=0:INPUT"[147] STARTING LINE#   1[157][157][157]";SL
  695. 7040 INPUT" LINE INCREMENT   2[157][157][157]";LI
  696. 7050 PRINT"   PLEASE WAIT ! "
  697. 7060 W=SL:W=W-LI
  698. 7070 FORE=1TOMX
  699. 7080 IFPL$(E)=""THEN7110
  700. 7090 GOSUB7160:CL$(W)=PL$(E)
  701. 7100 PL$(E)=""
  702. 7110 NEXTE:MY=W
  703. 7120 FOREE=1TOMX
  704. 7130 IFCL$(EE)=""THEN7150
  705. 7140 PL$(EE)=CL$(EE):CL$(EE)=""
  706. 7150 NEXTEE:RETURN
  707. 7160 W=W+LI:RETURN
  708. 7170 REM
  709. 7180 P1=ASC(MID$(PL$(I),2,1))
  710. 7190 IFP1<>47THENER$="  OOPS! I DON'T UNDERSTAND! ":GOTO6940
  711. 7200 P6=3
  712. 7210 IFP6>32THENER$="  SENTENCE TOO LONG! ":GOTO6940
  713. 7220 P2(P6)=ASC(MID$(PL$(I),P6,1))
  714. 7230 IFP2(P6)=95THEN7290
  715. 7240 IFP2(P6)<65THEN7270
  716. 7250 P2(P6)=P2(P6)-64
  717. 7260 P2(P6)=ABS(P2(P6)):P6=P6+1:GOTO7210
  718. 7270 IFP2(P6)<1THENER$="  OOPS! I DON'T UNDERSTAND! ":GOTO6940
  719. 7280 P6=P6+1:GOTO7210
  720. 7290 FORP7=3TOP6-1
  721. 7300 POKEP,32:POKEP5,C5
  722. 7310 IFPEEK(P+1)=35THENP7=P6-1:GOTO7340
  723. 7320 POKEP,P2(P7):POKEP5,C5
  724. 7330 P=P+1:P5=P5+1
  725. 7340 NEXT P7
  726. 7350 POKEP,32:POKEP5,C5
  727. 7360 P6=0:RETURN
  728. 7370 REM GET ANSWER
  729. 7380 GETX$:IFX$=""THEN7380
  730. 7390 IFX$="Y"THEN7420
  731. 7400 IFX$="N"THEN7420
  732. 7410 GOTO7380
  733. 7420 AN$=X$:RETURN
  734. 7430 REM SELECT ANSWER
  735. 7440 D4$=MID$(PL$(I),3,1)
  736. 7450 IFD4$=AN$THEN7470
  737. 7460 RETURN
  738. 7470 J4=VAL(MID$(PL$(I),5,3))
  739. 7480 IFJ4>MXTHENER$="  LINE # TOO HIGH! ":GOTO6940
  740. 7490 I=J4-1:RETURN
  741. 7500 REM HOME SNAIL
  742. 7510 POKEP,32
  743. 7520 P=1105:P5=55377
  744. 7530 FORCS=1TO37:POKEP,32:P=P+1:NEXTCS:P=1105
  745. 7540 POKEP,0:POKEP5,C5
  746. 7550 RETURN
  747. 7560 QW=VAL(MID$(PL$(I),3)):KK=I+1:RETURN
  748. 7570 PRINT"[147]   PLEASE WAIT ONE MOMMENT! ":W=0:FORSV=1TOMX
  749. 7580 IFPL$(SV)=""THEN7620
  750. 7590 W=W+1:CL$(W)=PL$(SV)
  751. 7600 PL$(SV)=""
  752. 7610 PL$(W)=CL$(W):CL$(W)=""
  753. 7620 NEXT SV:PZ=W:RETURN
  754. 7630 PRINT"[147]   ARE YOU SURE (Y/N)? "
  755. 7640 GETZ$:IFZ$=""THEN7640
  756. 7650 IFZ$="N"THENRETURN
  757. 7660 IFZ$<>"Y"THEN7640
  758. 7670 PRINT"  O.K.  PLEASE WAIT! "
  759. 7680 PN$="":VB=0
  760. 7690 FORBB=1TOMX:PL$(BB)="":NEXTBB:RETURN
  761. 7700 PRINT"  PLEASE WAIT ONE MOMENT! "
  762. 7710 W=0
  763. 7720 FORSV=1TOMX
  764. 7730 IFPL$(SV)=""THEN7760
  765. 7740 W=W+5:CL$(W)=PL$(SV)
  766. 7750 PL$(SV)=""
  767. 7760 NEXT SV
  768. 7770 FORSV=1TOMX
  769. 7780 IFCL$(SV)=""THEN7810
  770. 7790 PL$(SV)=CL$(SV)
  771. 7800 CL$(SV)=""
  772. 7810 NEXTSV:MY=W:RETURN
  773. 7820 PRINT"[147]"
  774. 7830 PRINT"           [167][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][165]
  775. 7840 [153]"           THEN PROGRAM  SNAIL FN
  776. 7850 PRINT"           [167]                [165]
  777. 7860 [153]"           THENTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOFN
  778. 7870 PRINT"                  [164][164][164][164]
  779. 7880 [153]"                 (null)    (null)
  780. 7890 PRINT"                [206]  [164][164]  [205]
  781. 7900 [153]"               (null)  (null)  (null)  (null)
  782. 7910 PRINT"           [215]  [206]  [206] [164][164] [205]  [205]
  783. 7920 [153]"            (null)TOFN (null) (null)  (null) (null)  FN
  784. 7930 PRINT"            [206][187][205] [205] [205]  [206] [206]  [165]
  785. 7940 [153]"            (null)  (null) (null)    (null)  (null)(null)
  786. 7950 PRINT"           [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]
  787. 7960 [153]"          R. PRACHUN  <C> 1982
  788. 7970 PRINT"          [163][163][163][163][163][163][163][163][163][163]  [163][163][163][163][163][163][163][163]
  789. 7980 [153]"
  790. 7990 PRINT"         PRESS ANY KEY TO BEGIN!
  791. 8000 [161]X$:[139]X$[178]""[167]8000
  792. 8010 [142]
  793. 8020 [153]"LOAD  SYMBOL & COMMAND "
  794. 8030 [153]"    N       NEST A LOOP (N/3 )
  795. 8040 PRINT"             #3 MEANS 3 TIMES"
  796. 8050 PRINT"    E/N     END OF NESTED LOOP"
  797. 8060 PRINT"    E       END THE PROGRAM
  798. 8070 [153]"    F       FILL THE SCREEN"
  799. 8080 [153]"           PRESS ANY KEY "
  800. 8090 [161]Z$:[139]Z$[178]""[167]8090
  801. 8100 [142]
  802. 8110 [143]
  803. 8120 [129] K[178]0 [164] 74
  804. 8130 [135] Y9
  805. 8140 [151] (12[172]4096)[170]K,Y9
  806. 8150 [130] K:[142]
  807. 8160 [131] 169 , 216 , 133 , 179 , 169
  808. 8170 [131] 81 , 133 , 178 , 169 , 0
  809. 8180 [131] 133 , 251 , 169 , 4 , 133
  810. 8190 [131] 254 , 169 , 81 , 133 , 253
  811. 8200 [131] 160 , 0 , 165 , 252 , 145
  812. 8210 [131] 253 , 165 , 2 , 145 , 178
  813. 8220 [131] 200 , 192 , 38 , 208 , 243
  814. 8230 [131] 230 , 251 , 165 , 251 , 201
  815. 8240 [131] 19 , 240 , 23 , 24 , 165
  816. 8250 [131] 253 , 105 , 40 , 133 , 253
  817. 8260 [131] 24 , 165 , 178 , 105 , 40
  818. 8270 [131] 133 , 178 , 144 , 217 , 230
  819. 8280 [131] 254 , 230 , 179 , 24 , 144
  820. 8290 [131] 210 , 96 , 24 , 144 , 210
  821. 8300 [131] 96 , 255 , 255 , 255 , 255
  822. 8310 [139][202](PL$(I),3,1)[178]"L"[167]8390
  823. 8320 [139][202](PL$(I),3,1)[178]"G"[167]8360
  824. 8330 [139][202](PL$(I),3,1)[178]"R"[167]8420
  825. 8340 [139][202](PL$(I),3,1)[178]"*"[167]8450
  826. 8350 PE[178]2:[142]
  827. 8360 [143]
  828. 8370 I[178]G1(VB):VB[178]VB[171]1:[139]VB[179]0[167]VB[178]0
  829. 8380 G2[178]0:[142]
  830. 8390 LF[178]LF[171]1:[139]LF[178]0[167]8410
  831. 8400 I[178]LL
  832. 8410 [142]
  833. 8420 QW[178]QW[171]1:[139]QW[178]0[167]8440
  834. 8430 I[178]KK
  835. 8440 [142]
  836. 8450 I[178]G3(AX)[170]1:AX[178]AX[171]1:[139]AX[179]0[167]AX[178]0
  837. 8460 [142]
  838. 8470 [141]200:[141]330:HF[178]1
  839. 8480 [153]" COMMAND LIST: F1=NEXT F7=QUIT "
  840. 8490 [139]HF[178]7[167]HF[178]1
  841. 8500 [153]C$;" @ ";CD$(HF)
  842. 8510 SM[178][194](197)
  843. 8520 [139]SM[178]4[167]HF[178]HF[170]1:[141]200:[129]DL[178]1[164]50:[130]DL:[137]8490
  844. 8530 [139]SM[178]3[167][141]330:[142]
  845. 8540 [137]8510
  846. 8550 CD$(1)[178]"  D WAIT DRAW <>  M WAIT MOVE"
  847. 8560 CD$(2)[178]"  E WAIT ERASE <>  W WAIT WIPE"
  848. 8570 CD$(3)[178]"  S WAIT SELECT A TRAIL"
  849. 8580 CD$(4)[178]"  F WAIT FILL MY WORLD"
  850. 8590 CD$(5)[178]"  T WAIT TEACH <>  R WAIT RECALL"
  851. 8600 CD$(6)[178]"  J WAIT JOYSTICK OPTION"
  852. 8610 [142]
  853. 8620 [131] 162 , 0 , 160 , 0 , 169
  854. 8630 [131] 35 , 157 , 40 , 4 , 157
  855. 8640 [131] 72 , 7 , 169 , 1 , 157
  856. 8650 [131] 40 , 216 , 157 , 72 , 219
  857. 8660 [131] 232 , 224 , 40 , 208 , 235
  858. 8670 [131] 162 , 0 , 160 , 0 , 169
  859. 8680 [131] 40 , 133 , 251 , 169 , 4
  860. 8690 [131] 133 , 252 , 169 , 40 , 133
  861. 8700 [131] 253 , 169 , 216 , 133 , 254
  862. 8710 [131] 32 , 68 , 196 , 169 , 79
  863. 8720 [131] 133 , 251 , 169 , 4 , 133
  864. 8730 [131] 252 , 169 , 79 , 133 , 253
  865. 8740 [131] 169 , 216 , 133 , 254 , 32
  866. 8750 [131] 68 , 196 , 96 , 160 , 0
  867. 8760 [131] 162 , 0 , 169 , 35 , 145
  868. 8770 [131] 251 , 169 , 1 , 145 , 253
  869. 8780 [131] 232 , 224 , 21 , 240 , 23
  870. 8790 [131] 24 , 165 , 251 , 105 , 40
  871. 8800 [131] 133 , 251 , 24 , 165 , 253
  872. 8810 [131] 105 , 40 , 133 , 253 , 144
  873. 8820 [131] 227 , 230 , 252 , 230 , 254
  874. 8830 [131] 24 , 144 , 220 , 96 , 0
  875. 8840 [131] 0 , 0 , 0 , 0 , 0
  876. 8850 [143]
  877. 8860 [143] BORDER ROUTINE
  878. 8870 [129]K[178]0[164]109
  879. 8880 [135] ZZ:[151]50176[170]K,ZZ
  880. 8890 [130] K:[142]
  881.